home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu447.dms / pu447.adf / Rend24 / Rend24.doc / Rend24.doc
Text File  |  1992-09-02  |  45KB  |  1,022 lines

  1. ----------------------------------------------------------------------------
  2.  
  3.  
  4.                 Rend24 - A Batch Image Conversion System
  5.  
  6.                        Written by Thomas Krehbiel
  7.  
  8.                   Copyright © 1991,1992 Thomas Krehbiel
  9.                           All Rights Reserved
  10.  
  11.  
  12. ----------------------------------------------------------------------------
  13.  
  14. NOTE
  15.  
  16.     This documentation assumes a basic familiarity with AmigaDOS and
  17.     the Amiga interface.  If you aren't familiar with the concepts of
  18.     files, directories, gadgets, windows, etc. you should consult your
  19.     "Introduction to the Amiga" manual.  Another excellent source of
  20.     information is your local Amiga users group.
  21.  
  22.  
  23. DISTRIBUTION
  24.  
  25.     Rend24 is being distributed as Shareware.  If you find this program
  26.     useful, please consider sending a donation of $30 or so to the
  27.     author (address given at the end of this document).
  28.  
  29.     There is no longer any difference between the Shareware version
  30.     of Rend24 and the Registered version of Rend24, so you will not
  31.     be getting anything new by sending me a donation.  If you choose
  32.     to send a donation, please state that you already have version
  33.     1.05.
  34.  
  35.     Rend24 may be freely distributed in its original form to any bulletin
  36.     board, network, or through any public domain library collection, so
  37.     long as no fees (beyond reasonable media costs) are charged for such
  38.     distribution.  This product is being distributed "as is", with no
  39.     warranties expressed or implied as to the use or misuse of the
  40.     program.  The author cannot be held responsible for any damages
  41.     resulting from the use of this program.
  42.  
  43.     Note that version 1.05 will very likely be the final release.  If
  44.     you find it lacking features, you may want to consider purchasing
  45.     ImageFX from GVP; it includes a batch processor very similar to
  46.     Rend24 (coincidentally :) and a wealth of image manipulation
  47.     features.
  48.  
  49.  
  50. OOPS!
  51.  
  52.     Previous versions of the Rend24 documentation left out a very
  53.     important statement:
  54.  
  55.     This software is based in part on the work of the Independant JPEG
  56.     Group.
  57.  
  58.     I'd just like to apologize to the Independant JPEG Group for not
  59.     having included this, they deserve full credit for their work in
  60.     bringing this popular compression format to the computer world at
  61.     large.
  62.  
  63.  
  64. CHANGES IN 1.05
  65.  
  66.     AGA support was the biggest priority in this version.  To support the
  67.     new modes and such, a somewhat signficant change had to be made in the
  68.     way that the output format was chosen in the front end.  The one cycle
  69.     gadget was broken into six cycle gadgets... :)
  70.  
  71.     Support for processing frames that do not progress by 1 has been added
  72.     (ie. support for processing every other frame, etc.).
  73.  
  74.     Sorry, 1.05 prefs are not compatible with older versions.  You'll have
  75.     to resave your prefs.
  76.  
  77.  
  78. INTRODUCTION
  79.  
  80.  
  81.     Rend24 was originally written as an excercise in converting
  82.     24-Bit IFF files into displayable resolutions.  At that time,
  83.     I was working with the Toaster's Lightwave 3D often, and without
  84.     the benefit of a single-frame controller, it was somewhat awkward
  85.     getting a displayable animation out of Lightwave.  Lightwave is
  86.     capable of saving each frame it generates as a 24-Bit IFF file;
  87.     hence, an idea was born.
  88.  
  89.     What I needed was a program that would wait around in the
  90.     background while Lightwave generated a frame.  Then, when the
  91.     frame was saved to disk, the program would jump in and convert
  92.     the 24-bit file down to an Amiga-displayable format and pack
  93.     it into an IFF Animation file and return to waiting for the
  94.     next frame.
  95.  
  96.     So I set out to write my own program to do the job.  Along the
  97.     way it has acquired a number of useful features which don't relate
  98.     at all to the original plan.  You can use it to convert GIF
  99.     files to Amiga format.  You can use it to view JPEG files directly.
  100.     You can use it interactively convert VistaPro generated files into
  101.     DCTV animations.  This program does a lot for the money...
  102.  
  103.     Version 1.05 now fully supports the AGA chipset, for rendering to
  104.     the new modes.  It is one of the few programs at this time that
  105.     does.
  106.  
  107.  
  108. CONCEPT
  109.  
  110.     Rend24's purpose is to convert one or more input images into
  111.     individual viewable ILBM images or a single viewable ANIM animation.
  112.     The input images may be 24-bit ILBMs, GIF format images, or even
  113.     JPEG compressed images.  You control the format of the output
  114.     images and/or animations, including the color depth, dithering,
  115.     and size.
  116.  
  117.     Rend24's strength lies in its ability to convert batches of images
  118.     at a time.  You tell Rend24 where to find the input images, how many
  119.     there are, and then sit back and watch it go.
  120.  
  121.  
  122. FEATURES
  123.  
  124.     o Runs under Workbench 1.3, 2.0, and 3.0.
  125.  
  126.     o Generally fast conversion times.
  127.  
  128.     o Supports most standard IFF-ILBM image formats, from 2-color through
  129.       HAM all the way up to 8- and 24-bit.
  130.  
  131.     o Supports reading Compuserve GIF format images directly.
  132.  
  133.     o Supports reading JPEG/JFIF compressed images directly (thanks
  134.       to the Independant JPEG Group).
  135.  
  136.     o Can generate individual pictures or a standard IFF-ANIM Op 5 animation,
  137.       with or without palette locking.
  138.  
  139.     o Supports HAM-E and DCTV format rendering.
  140.  
  141.     o Supports Floyd-Steinberg dithering to increase the number of apparent
  142.       colors.
  143.  
  144.     o Now includes a handy-dandy front-end for CLI-phobes.
  145.  
  146.     o Supports arbitrary scaling of input images.
  147.  
  148.     o Full support of AGA modes (as of 1.05).
  149.  
  150.  
  151. HARDWARE REQUIREMENTS
  152.  
  153.      Rend24 should run on any Amiga with any amount of chip and fast
  154.      memory.  However, due to the nature of 24-bit image manipulation,
  155.      Rend24 can use up quite a bit of memory loading and converting an
  156.      image.  Working with 320x200x24 images I would say you would need
  157.      1Meg minimum.  Working with 768x480x24 images you will probably
  158.      need at least 3Meg of free memory.  Rend24 always uses fast memory
  159.      except for the memory to open the display screen, so chip memory
  160.      should not be a problem.
  161.  
  162.      Rend24 is fully Workbench 2.0 compatible (as of the time of this
  163.      writing, at least).  In fact, it takes advantage of a couple of
  164.      features in 2.0 which make Amiga mode conversion times a tad
  165.      faster.
  166.  
  167.      As of version 1.05, Rend24 also excels under Workbench 3.0.
  168.  
  169.  
  170. INSTALLATION
  171.  
  172.     Rend24 is fairly easy to install.  Simply drag the program icon
  173.     to wherever you would like it to reside.  It doesn't have to be
  174.     in your C: directory (although if you plan to use the program
  175.     from CLI you might want to put it in your command path somewhere).
  176.  
  177.     Certain features of Rend24 require some libraries to be installed
  178.     in your LIBS: directory.  There should be an installation program
  179.     accompanying the main program, which will guide you through
  180.     installing the libraries.  The libraries are:
  181.  
  182.         hame.library        Required for generating HAM-E images.
  183.  
  184.         dctv.library        Required for generating DCTV images.
  185.  
  186.         arp.library         Required under version 1.3 of the
  187.                             operating system to have a file
  188.                             requester available in the front end.
  189.  
  190.     That's it!  That wasn't so hard, was it? :)
  191.  
  192.     An INSTALL script should be included to automate the installation
  193.     process for you.
  194.  
  195.  
  196. RUNNING THE PROGRAM FROM WORKBENCH
  197.  
  198.     Couldn't be easier... simply double click the Rend24 icon and
  199.     in a few seconds a window will appear on your Workbench with
  200.     a whole bunch of gadgets in it.  This is what I call the "Front End"
  201.     window, and is where you tell Rend24 what you want to do in a
  202.     (hopefully) convienient manner.
  203.  
  204.  
  205.     Source Image Pattern
  206.  
  207.         This is where you enter input file(s).  Click in the string gadget
  208.         and just type the full pathname of image you want to convert.
  209.         Or, you can click on the Choose gadget to the right to open a
  210.         file requester where you can choose the input image.
  211.  
  212.         You can specify a standard wildcard pattern for the source image,
  213.         to convert more than one at a time.  The pattern is the same
  214.         used by standard AmigaDOS commands (#?)... you may also use
  215.         the Unix-style '*' character as a wildcard.  So if you specify
  216.         "DollFace*.pic" as the source image pattern, then all files
  217.         matching that pattern will be converted.
  218.  
  219.         If you are using the Frame Count gadget (see below), then enter
  220.         only the filename "base" without any numbered extensions.
  221.  
  222.         ** NOTE **  Be sure you press RETURN after entering text into
  223.         the string gadget, or Rend24 will not accept it.
  224.  
  225.  
  226.     Source Frame Count
  227.  
  228.         This is used when you are converting a series of frames output
  229.         by, for example, Lightwave or VistaPro.  It expects the source
  230.         image filenames to be in the format "Picture001", "Picture002",
  231.         "Picture003", etc.  You enter the base name of the files (eg.
  232.         what you entered in Lightwave or VistaPro for the file prefixes;
  233.         do NOT include the numbers afterward!) into the Source Image
  234.         Pattern gadget, and then enter the number of frames you want to
  235.         convert in the Source Frame Count gadget.
  236.  
  237.  
  238.     Start
  239.  
  240.         You can use this gadget to enter a different starting frame
  241.         number when converting a series of frames (using the Frame
  242.         Count gadget above).  Normally, Rend24 will start at frame
  243.         1, but there may be occasions when you would need to start
  244.         somewhere else (when generating only a portion of an
  245.         animation, for instance).
  246.  
  247.  
  248.     Skip
  249.  
  250.         This number is the number of frames to skip when processing
  251.         a numbered sequence of frames.  For example, a value of 1
  252.         will process every frame, a value of 2 will process every
  253.         other frame, etc.
  254.  
  255.  
  256.     Dest Picture Pattern:
  257.  
  258.         If you want to generate individual IFF-ILBM pictures, you
  259.         enter the full pathname of the output file here.  You can also
  260.         click on the Choose gadget to the right to bring up a file
  261.         requester to make you selection easier.
  262.  
  263.         If you are converting more than one input file, you will probably
  264.         want to specify a pattern for the output pictures.  The pattern
  265.         is just like a standard pathname, except there should be a single
  266.         '*' character in the path somewhere.  For each file converted,
  267.         the '*' character will be replaced with the name of the input
  268.         image currently being converted, minus any extensions.  So if
  269.         the current input image is "DollFace.pic" and your output pattern
  270.         is "mydrive:*.ham" then the output filename for "Dollface.pic"
  271.         will by "mydrive:Dollface.ham".
  272.  
  273.         Note that you do not *have* to specify any outputs at all; if you
  274.         don't then each input file will simply be rendered and viewed.
  275.         This can be used as a simple (but effective) deep color image
  276.         viewer for stock Amigas.
  277.  
  278.  
  279.     Dest Animation:
  280.  
  281.         If you want to create an animation file, then enter the full
  282.         pathname of the destination animation file here.  Once again,
  283.         you can click on the Choose gadget to bring up a file requester.
  284.         All files converted will be packed into this animation file.
  285.  
  286.         Note that you cannot append to an existing animation file; you
  287.         can only create an animation from the conversions done in a
  288.         single Rend24 session.  So to create an animation you need to
  289.         either use an input pattern or specify a frame count.  Otherwise
  290.         the animation will only have one frame in it.
  291.  
  292.         Note that you do not *have* to specify any outputs at all; if you
  293.         don't then each input file will simply be rendered and viewed.
  294.         This can be used as a simple (but effective) deep color image
  295.         viewer for stock Amigas.
  296.  
  297.  
  298.     Device:
  299.  
  300.         Allows you to select the output display device for the rendered
  301.         images.  You can choose from a standard Amiga display, DCTV
  302.         display (in either 3 or 4 bitplanes), or HAM-E display (Register
  303.         or HAM mode).
  304.  
  305.     Format:
  306.  
  307.         Color format selection.  Choices are "Luma", for NTSC luminence
  308.         conversion, "Grey", for an average greyscale conversion, "Color",
  309.         for a standard register mode color image, "HAM", for a 6-bitplane
  310.         HAM image (4096 colors), and "HAM8", for an 8-bitplane HAM8 image
  311.         (262,000 colors).  HAM8 will only function on an Amiga equipped
  312.         with the AGA chipset.
  313.  
  314.     Mntr:
  315.  
  316.         Amiga Output Monitor selection.  "Monitors" are used under
  317.         Workbench 2.0 or later for varying display formats.  Rend24 gives
  318.         you the choices of Default, NTSC, DBLNTSC, PAL, DBLPAL, VGA, and
  319.         Super72.  In most cases you will want to use Default.
  320.  
  321.                 Default         User's preferred monitor setting.
  322.                 NTSC            Force NTSC.
  323.                 DBLNTSC         Force scan-doubled NTSC (AGA only).
  324.                 PAL             Force PAL.
  325.                 DBLPAL          Force scan-doubled PAL (AGA only).
  326.                 VGA             VGA modes (Productivity, etc.).
  327.                 Super72         Super72 mode (800x600).
  328.  
  329.     Col:
  330.  
  331.         Selection for the number of colors in Amiga rendered images (HAM-E
  332.         and DCTV images always use a fixed number of colors).  Choices are
  333.         "Max", and 2 through 256 colors.  Selecting "Max" will always
  334.         render the maximum amount of colors available to the mode you have
  335.         chosen.  Certain combinations of modes and colors may not work
  336.         without an AGA-equipped Amiga (eg. 256-color Super72).  HAM modes
  337.         always used a fixed number of colors (16 or 64).
  338.  
  339.     Hor:
  340.  
  341.         Amiga Horizontal resolution selection.  Choices are "Lores",
  342.         "Hires", and "Super Hires".  This affects the size of the pixels
  343.         in the horizontal direction.
  344.  
  345.     Ver:
  346.  
  347.         Amiga Vertical resolution selection.  Choices are "No Lace" and
  348.         "Lace".  This affects the size of the pixels in the vertical
  349.         direction.
  350.  
  351.     Auto Mode:
  352.  
  353.         When selected, Rend24 will attempt to determine the proper
  354.         screen mode to use for each picture it loads.  This is the way
  355.         that Rend24 always used to work.  Otherwise, the screen mode
  356.         selected with the above gadgets will be used for each picture.
  357.  
  358.         Auto Mode always uses the Default monitor, so if you need to
  359.         render to Super72 or VGA you cannot use Auto Mode.
  360.  
  361.     High Quality:
  362.  
  363.         This gadget only has meaning for DCTV and HAM-E rendering
  364.         formats.  For DCTV images, if High Quality is checked then
  365.         Rend24 will use 4 bitplanes instead of 3.  For HAM-E images,
  366.         if High Quality is checked then Rend24 will generate a
  367.         palette with a higher degree of accuracy, which can take
  368.         significantly longer.
  369.  
  370.     Run "Convert":
  371.  
  372.         If checked, then Rend24 will attempt to run Black Belt Systems'
  373.         "Convert" program on each input file.  This can be used to
  374.         convert foreign file types to standard IFF24 for use with
  375.         Rend24.  You will probably not need to use this very often, if
  376.         ever.
  377.  
  378.     Lock Palette:
  379.  
  380.         When checked, this will keep the palette the same across multiple
  381.         conversions.  That is, it will generate a palette for the first
  382.         frame only, and then use that same palette for all subsequent
  383.         frames.  This is most useful for HAM-E animations and for creating
  384.         animations for, say, DPaint (which doesn't support different
  385.         palettes for different frames).
  386.  
  387.     Ordered Dither:
  388.  
  389.         When generating greyscale images, you now have the option of
  390.         selecting an ordered dither pattern.  Ordered dithers are very
  391.         useful for creating animations, both for speed of playback and
  392.         for reducing the size of the animation.  Selecting ordered
  393.         dither for color images does nothing.
  394.  
  395.     F/S Dither:
  396.  
  397.         This enables the Floyd-Steinberg dithering algorithm, which can
  398.         increase the number of apparent colors in an image.  It generally
  399.         does not work too well for HAM images, though, and in all cases
  400.         increases the amount of time it takes to convert each image.
  401.         For animations, this can also significantly increase the number
  402.         of changes between frames, causing the animation to play slower
  403.         and consume huge amounts of memory.
  404.  
  405.     Double Width:
  406.  
  407.         When selected, Rend24 will double the width of any images that
  408.         are smaller than 384 pixels wide.  This was added for rendering
  409.         HAM-size images into DCTV format without squishing the image
  410.         horizontally.  When rendering to DCTV, you probably want to
  411.         leave this checked.
  412.  
  413.     Halve Width:
  414.  
  415.         When this is checked, Rend24 will halve the width of any images that
  416.         are larger than 384 pixels wide.  This is handy when converting
  417.         hires 768x480 images into HAM images.
  418.  
  419.     Halve Height:
  420.  
  421.         When checked, Rend24 will halve the height of any images that are
  422.         larger than 240 pixels tall.  Handy for converting what would
  423.         normally be an interlace image into non-interlace.
  424.  
  425.     Rotate 90 Degrees:
  426.  
  427.         This will rotate each input image 90 degrees counter-clockwise.
  428.         Handy for reading images saved by ASDG's ScanLab, which for some
  429.         reason only saves images in portrait mode.
  430.  
  431.     NTSC Limit:
  432.  
  433.         When checked, this will reduce the brightness of each input image
  434.         to fit into NTSC limits.  Note that my implementation is a VERY
  435.         simple algorithm, and may not be what you want.
  436.  
  437.     Delete Source's:
  438.  
  439.         When checked, Rend24 will delete each input 24-bit image after
  440.         it has been converted.  This is most handy when converting frames
  441.         from, for example, Lightwave or VistaPro as they generate the
  442.         images.  It will reduce the amount of hard drive space you need
  443.         free while converting.  However, it also eliminates the possibility
  444.         of redoing the conversion since the source images will be gone.
  445.         So be careful with this one.  I recommend leaving this off (unless
  446.         you are really pressed for hard drive space) and delete the source
  447.         images only after you are satisfied with the results of Rend24.
  448.  
  449.     Hide Conversion:
  450.  
  451.         When checked, Rend24 will not show you images as they are being
  452.         converted.  For 16-color Hires images, this can significantly
  453.         speed up the conversion process.  It's also handy if you don't
  454.         want to be annoyed by a bunch of screens popping to the front
  455.         all the time.
  456.  
  457.     Don't Pause:
  458.  
  459.         Normally, Rend24 will pause after each image is converted and
  460.         wait for a mouse click.  When this option is enabled, it will
  461.         go into "batch" mode and perform all of its conversions without
  462.         user involvement.  For converting animations, you will probably
  463.         want to check this item.
  464.  
  465.     Wait for Source's:
  466.  
  467.         When checked, Rend24 will sit in a loop waiting for each input
  468.         file to appear.  This is especially useful for converting frames
  469.         produced by Lightwave as the frames are generated.
  470.  
  471.     Ping-Pong Anim:
  472.  
  473.         When generating an animation from a numbered series of frames
  474.         (ie. when you have a number other than zero in the Frame Count
  475.         gadget), this will cause Rend24 to create the animation such
  476.         that it will ping-pong when played back.  It does this by
  477.         duplicating all the frames in descending order after processing
  478.         all the frames normally.  Thus, it takes about twice as long
  479.         to do this and the animation will be about twice as big.
  480.         Also, since it requires all the frames in order to step backwards
  481.         through them, make sure you don't delete the frames.
  482.  
  483.     No Loop Frames:
  484.  
  485.         Normally, Rend24 will append two "looping" frames to the end
  486.         of any animation it creates.  Turning this option on will
  487.         keep Rend24 from doing this.
  488.  
  489.     X: Y:
  490.  
  491.         These two gadgets let you perform arbitrary scaling on source
  492.         images.  Enter the width and height of the resulting images you
  493.         want in the X and Y gadget respectively, and Rend24 will scale
  494.         the source images to this size, regardless of the original
  495.         image size.  Thus if you enter 160 and 100 into these gadgets
  496.         then all resulting files will be 160x100 images/animations.
  497.         Enter 0 and 0 to turn off the arbitrary scaling.
  498.  
  499.     Begin Conversion
  500.  
  501.         Click this when you have everything setup the way you want it
  502.         to let Rend24 start working.
  503.  
  504.     Quit
  505.  
  506.         Click this or the window close gadget to quit Rend24.
  507.  
  508.  
  509.  
  510.     The front-end also has a few menus.  They are described below:
  511.  
  512.     Save Settings (Right Amiga-S)
  513.  
  514.         This will save all your current front-end settings to
  515.         a file in your S: directory.  After you have things setup
  516.         the way you want them, you might want to save the settings
  517.         so you don't have to re-setup each time you run Rend24.
  518.  
  519.     Default Source Directory...
  520.  
  521.         Lets you choose the directory where input images come from
  522.         by default.  This is the directory that first comes up
  523.         when you click the Choose gadget next to Source Image
  524.         Pattern.
  525.  
  526.     Default Destination Directory...
  527.  
  528.         Lets you choose the directory where images are saved to
  529.         by default.  This is the directory that first comes up
  530.         when you click the Choose gadget next to Dest Image
  531.         Pattern.
  532.  
  533.     Default Animation Directory...
  534.  
  535.         Lets you choose the directory where animations are saved
  536.         by default.  This is the directory that first comes up
  537.         when you click the Choose gadget next to Dest Animation.
  538.  
  539.  
  540.     Show Animation... (Right Amiga-A)
  541.  
  542.         This is a simple way to show an animation created by
  543.         Rend24.  It brings up a file requester from which you
  544.         can choose an animation file to play (it defaults to
  545.         the animation file displayed in the Output Animation
  546.         gadget).
  547.  
  548.         Rend24 defaults to using the program ShowAnim
  549.         to display the animation, but this may be changed by
  550.         editing the "s:Rend24_105.prefs" file.  The second
  551.         line is the template that Rend24 uses to show the
  552.         animation; where a %s appears in this line will be
  553.         replaced with the filename selected by the user.  Enter
  554.         a line that you would normally type in the CLI here
  555.         to change the animation viewer that Rend24 uses.
  556.  
  557.         For example, if you wanted to use Viewtek for showing
  558.         animations, you could change the line to:
  559.  
  560.             VT "%s"
  561.  
  562.  
  563.     Show Image... (Right Amiga-P)
  564.  
  565.         This is a simple way to show an image possibly created
  566.         by Rend24.  It brings up a file requester from which
  567.         you can choose an image file to display.
  568.  
  569.         Rend24 defaults to using the program ShowAnim to display
  570.         pictures, but this may be changed by editing the
  571.         "s:Rend24_105.prefs" file.  The third line is the template
  572.         that Rend24 uses to show the image files; see above for
  573.         details.
  574.  
  575.  
  576. RUNNING THE PROGRAM FROM CLI
  577.  
  578.     Is a bit more complicated.
  579.  
  580.     Useage from CLI is as follows:
  581.  
  582.         1> Rend24 [options] <input_file> [input_file] ...
  583.  
  584.     The input file(s) must follow the options.  You may specify more
  585.     than one input file on the command line, and each input file may
  586.     contains wildcard characters (standard AmigaDos patterns).
  587.  
  588.     Options consist of a dash (-) followed by a single (case-sensitive!)
  589.     letter.  You may specify more than one option letter after a
  590.     single dash, except options that require an argument; they must be
  591.     separate.  Following is a list of all options currently supported
  592.     in Rend24:
  593.  
  594.         -D          Generate DCTV format images (note that CAPITAL D).
  595.                     Requires dctv.library.
  596.         -6          High Quality ("6-bit") HAM-E mode.
  597.         -aFILE      Pack output files into the given animation file "FILE".
  598.         -CNUM       Bitplanes to render in output images (1-8).
  599.         -c          Call Black Belt's Convert for each input file.  The
  600.                      Convert program must be in your current command
  601.                      path somewhere (ie. your C: directory).
  602.         -d          Enable Floyd-Steinberg dithering.
  603.         -e          Generate HAM-E format images.  Requires hame.library.
  604.         -fNUM       Convert "NUM" input frames.
  605.         -g          Generate greyscale (average) images.
  606.         -H          Use a special ordered dither pattern for greyscale images.
  607.                      This is very handy when generating animations, as the
  608.                      anim size will come out smaller than one generated
  609.                      with Floyd-Steinberg dithering.
  610.         -h          Generate HAM images.
  611.         -L          Do not add looping frames to animations.
  612.         -l          Generate lumascale (luminence) images.
  613.         -NSCREEN    Open Rend24 on the given named public screen (2.0 only).
  614.         -n          Do not pause after converting each image.
  615.         -o[PATTERN] Specify individual output image pattern.  If PATTERN
  616.                      is not given (ie. -o by itself) then each file will
  617.                      be saved to the same directory as the source image
  618.                      with a representative extension.
  619.         -P          Generate a ping-pong animation.
  620.         -p[FILE]    Palette locking.  If "FILE" exists, then a palette
  621.                      is read from it.  If "FILE" does not exist, then
  622.                      the generated palette is saved to it.
  623.         -r          Delete (remove) input files after converting.
  624.         -SNUM       Starting frame number, defaults to 1.
  625.         -s          Only generate palette, do not actually render an image.
  626.         -t          Enable NTSC limiting.
  627.         -v          Hide conversion process.
  628.         -w          Wait for input images to appear.
  629.         -X          Double the width of input images.
  630.         -x[WIDTH]   Scale width by half, or to the given pixel width.
  631.         -y[HEIGHT]  Scale height by half, or to the given pixel height.
  632.         -z          Rotate image 90 degrees counter-clockwise.
  633.  
  634.  
  635.     Note that you do not *have* to specify any outputs at all; if you
  636.     don't then each input file will simply be rendered and viewed.
  637.     This can be used as a simple (but effective) deep color image
  638.     viewer for stock Amigas.
  639.  
  640.     The arbitrary scaling (-xN and -yN) does not anti-alias (or
  641.     interpolate).  It is meant to be fast.
  642.  
  643.     Rend24 writes standard ILBM palette files that can be read by
  644.     DPaint.  It will also read a standard ILBM palette file.  Thus
  645.     you can save your favorite palette from DPaint and have Rend24
  646.     render all its images using that same palette.
  647.  
  648.     It is not possible to select display modes from CLI.  You must
  649.     use the front end for this.  In other words, from CLI, Rend24
  650.     always assumes the "Auto Mode" option.
  651.  
  652.  
  653. FILE FORMATS
  654.  
  655.     Rend24 will load most all types of IFF-ILBM images, including
  656.     8- and 24-bit images and standard Amiga resolutions.  The only
  657.     things I know of that it doesn't load are SHAM, Dynamic HAM, and
  658.     Dynamic Hires images.  It should handle images with mask planes.
  659.  
  660.     It will also load Compuserve GIF format images.  It will handle
  661.     interlaced and non-interlaced formats.  For multiple-frame
  662.     GIF's, it will just load the first frame.
  663.  
  664.     And it will also read JPEG images stored in the standard JFIF
  665.     file format (the format used by all Amiga JPEG implementations that
  666.     I know of).
  667.  
  668.     Rend24 reads and write standard IFF-ILBM palette files (ie. a
  669.     BMHD and CMAP, no BODY).
  670.  
  671.     Rend24 writes images in standard IFF-ILBM format suitable for
  672.     viewing with any standard picture viewer, and writes
  673.     animations in standard IFF-ANIM Op 5 format.  It automatically
  674.     creates "looping" frames on the end of any animation it generates,
  675.     unless turned off with No Loop Frames option.
  676.  
  677.  
  678. QUIRKS
  679.  
  680.     Rend24 does not handle "odd" sized images very well (images whose
  681.     width is not a multiple of 8).  All of the 'standard' images sizes
  682.     should work fine.
  683.  
  684.     Since Rend24 uses hame.library for opening and maintaining HAM-E
  685.     screens (it does NOT use renderhame.library!), Rend24 is subject
  686.     to that library's limitations.  The version of hame.library that
  687.     I have does not like to open screens of odd sizes, so you may
  688.     have to scale your images to a "regular" size to get it to work
  689.     right (320x200 or 320x400, with/without overscan).
  690.  
  691.     Rend24 relies completely on dctv.library for generating DCTV format
  692.     images, so if there are problems with DCTV renderings, it is more
  693.     than likely the fault of dctv.library.
  694.  
  695.     The default animation player used by Rend24 is "ShowAnim".
  696.     Unfortunately, ShowAnim is apparently even stricter about the
  697.     sizes of images it handles than Rend24.  Also unfortunately,
  698.     the default medium resolution of Lightwave happens to be one of
  699.     the sizes that ShowAnim doesn't like... the result is animations
  700.     that look garbaged.  There are two solutions:  Find another
  701.     ANIM player (I recommend Viewtek if you are running under
  702.     Workbench 2.0 or later), or scale your rendered images in Rend24
  703.     to a size that ShowAnim can handle (I think 736x480 or 768x480 will
  704.     work).
  705.  
  706.  
  707. EXAMPLES
  708.  
  709.     What you've all been waiting for...
  710.  
  711.     These examples assume you are using the front-end.  You'll have to
  712.     interpret a bit if you are using the CLI interface.
  713.  
  714.     Example #1 - Lightwave
  715.     ~~~~~~~~~~~~~~~~~~~~~~
  716.     (Note:  This is based on memory as I don't happen to have a Toaster
  717.     sitting in front of me.  I haven't seen much of Toaster 2.0 either,
  718.     so this could be completely obsolete.)
  719.  
  720.     Suppose you want to convert a 30 frame animation generated with
  721.     Lightwave into a standard Amiga animation.  You might want to do
  722.     this if you A) want to see a color preview of your animation before
  723.     single-framing to tape to save wear and tear on your recorder, or
  724.     B) don't *have* a single-frame recorder.
  725.  
  726.     We will call the animation scene "DollFace".
  727.  
  728.     1.  Go into Lightwave and create a killer 30 frame animation,
  729.         ready for rendering in 768x480 mode.
  730.  
  731.     2.  Go into the "Record" menu, and choose the "Save Images" gadget.
  732.         Save Images will save each frame generated on disk as a standard
  733.         IFF-ILBM file - perfect for Rend24.  Do NOT choose "Save Frames",
  734.         as this saves in FrameStore format which Rend24 cannot read.
  735.         You will be presented with a file requester from which you choose
  736.         the image prefix for the frames generated.  For this example, we
  737.         will choose a prefix of "DollFace" - pick a convenient directory
  738.         (we'll use "Images" in this example) and enter "DollFace" into
  739.         the file gadget.  Each frame generated will now be called
  740.         "DollFaceNNN", where the "NNN" will be replaced with the number
  741.         of the frame.  (Ie. DollFace001, DollFace002, etc.).
  742.  
  743.     3.  Now pop back to Workbench (Left Amiga N) and run Rend24.  When
  744.         the front-end window appears, open the file requester to enter
  745.         a source image pattern (by clicking the Choose gadget next to
  746.         the Source Image Pattern gadget).  Pick the same directory you
  747.         entered in Lightwave ("Images" in our example), and also enter
  748.         the exact same image prefix you entered in Lightwave ("DollFace"
  749.         in our example, without any trailing numbers).  So the result
  750.         in the Source Image Pattern gadget should look something like
  751.         "DH3:Toaster/3D/Images/DollFace".
  752.  
  753.     4.  Since the animation will be 30 frames, enter the number 30 into
  754.         the Source Frame Count gadget.  This tells Rend24 to append
  755.         001 - 030 to the source image pattern given above to get the
  756.         name of each file to load, exactly like Lightwave does.  Choose
  757.         a starting frame number of 1.
  758.  
  759.     5.  Now choose the filename of your destination animation.  For
  760.         our example, we will simply save it to RAM:.  You may, however,
  761.         want to save the result to somewhere on your hard drive.
  762.         Open the file requester (by clicking on Choose next to the
  763.         Dest Animation gadget), and enter your output filename.  For
  764.         our example, we'll use "RAM:DollFace.anim".
  765.  
  766.     6.  Now decide on your animation image format.  In this example,
  767.         we'll keep things simple and just render to Amiga HAM mode.
  768.         Click the Image Format cycler gagdet until it reads "HAM Image".
  769.         We will also use the default maximum number of colors, so we
  770.         leave the # gadget at 0.
  771.  
  772.     7.  Decide on your conversion options.  If you plan to be loading
  773.         this animation into DPaint, you should choose the "Lock Palette"
  774.         option to keep the palette the same for all frames.  A HAM image
  775.         needs to be lores (< 384 pixels wide) so we need to turn on the
  776.         "Halve Width" option to reduce the width of Lightwave's hires
  777.         images down to lores.  If you don't want interlace images
  778.         (desirable to make the animation run faster and reduce conversion
  779.         times), click on the "Halve Height" button as well.  If you want
  780.         to delete the files that Lightwave generates from disk as Rend24
  781.         finishes converting them, choose the "Delete Source's" checkbox.
  782.         This will save a lot of hard drive space, but make it impossible
  783.         to redo the conversion process if something goes wrong.  If you
  784.         don't want Rend24 to show each frame as it's converting (probably
  785.         desirable in this case), check the "Hide Conversion" gadget.  You
  786.         will definitely want to check the "Don't Pause" gadget to make
  787.         Rend24 not wait for a mouse click after each frame is converted.
  788.         And you DEFINITELY want to check the "Wait for Source's" gadget
  789.         as this will make Rend24 sit around in the background waiting
  790.         for Lightwave to generate each frame.
  791.  
  792.     8.  Now that everything is setup, click the "Begin Conversion" gadget
  793.         in Rend24.  It will open it's status window and say that it is
  794.         waiting for "DollFace001".
  795.  
  796.     9.  Now pop back to Lightwave (Left Amiga M) and tell it to begin
  797.         rendering.  As Lightwave finishes rendering each frame, Rend24
  798.         will kick in, convert the image to HAM, pack it into the
  799.         destination animation, and then go back to sleep waiting for
  800.         the next frame.  When all the frames are finished, Rend24 will
  801.         build looping frames on the end of the animation, and you will
  802.         have a completed animation file ready for playing
  803.         ("RAM:DollFace.anim" in our example).  At this point you may
  804.         use the "Show Animation..." menu item to view the animation
  805.         immediately, or you may load the animation into (for example)
  806.         Deluxe Paint for further editing.
  807.  
  808.  
  809.  
  810. THE AUTHOR AND ACKS
  811.  
  812.      I can be reached at the following U.S. Mail address:
  813.  
  814.           Thomas Krehbiel
  815.           10747 Surry Road
  816.           Chester, VA  23831
  817.  
  818.      This is where you want to send your donations (cash, check,
  819.      or money order; U.S. funds please).
  820.  
  821.      If you have a modem and don't mind calling long-distance, I can
  822.      also be reached on the Late Nite Amiga BBS (804-262-9944) as Tom
  823.      Krehbiel (user #13).  Note that in older versions of Rend24
  824.      documentation I got the Late Nite phone number wrong (oops).
  825.      The latest distributable version of Rend24 can always be found
  826.      on Late Nite, as well.
  827.  
  828.      And at long last I now have an account on BIX, so you can bixmail
  829.      me as "tkrehbiel".
  830.  
  831.      BTW, I much prefer E-mail to regular mail... and I really don't
  832.      have the time to give phone support (sorry!).  If you do manage
  833.      to find my phone number, be warned that I am VERY hard to reach.
  834.  
  835.      Thanks to the following people for helping to make this program
  836.      like you now see it:
  837.  
  838.           Kermit Woodall . . . . .  Promotion/Research/Testing
  839.           Mike Vunck . . . . . . . . . . . . Promotion/Testing
  840.           Bob Fisher . . . . . . . . . . . . . . . . . Testing
  841.           Stuart Ragland . . . . . . . . . . . . . . . Testing
  842.  
  843.           (And everyone else in the Late Nite Developer sub.)
  844.  
  845.      Thanks to Mike Vunck for the spiffy icon!
  846.  
  847.      The JPEG decoder was originally written by the Independant JPEG
  848.      Group, headed by Tom Lane.  These guys deserve a great deal of
  849.      credit for bringing the somewhat convoluted JPEG compression
  850.      format to the computer world at large.
  851.  
  852.  
  853. REVISION HISTORY (for the curious)
  854.  
  855.      1.05      Complete AGA (A1200/A4000) support.
  856.      Release   New options to support rendering to most any mode.
  857.      12/10/92  "New look" menus in the front end.
  858.  
  859.      1.04i     Rendered Amiga screens are now autoscrollable (V36+).
  860.      Release   Added an ordered dither option for greyscale images.
  861.      9/13/92   Fixed major bug in handling large size images (>768w).
  862.                Fixed fairly harmless Enforcer hit on program startup.
  863.                Added untested support for AGA modes (HAM8, etc.).
  864.                Fixed bug that caused ANIM compression to crash sometimes.
  865.  
  866.      1.04h     Added utility menu to show pictures, animations.
  867.      Release   New and improved overscan calculation (V36+).
  868.      7/8/92    Can now open front end/status on public screens (V36+).
  869.                Fixed some bugs in the GIF loading code.
  870.  
  871.      1.04g     Now handles any number of digits in frame number extensions.
  872.      Beta      Can render images with arbitrary number of colors (bitplanes).
  873.      6/30/92   Can now start generating from frames other than 1.
  874.                Now handles non-8 point system fonts in status window.
  875.  
  876.      1.04f     Added Double Width option for DCTV fanatics.
  877.      Release   Added option to make Ping-Pong animation from numbered frames.
  878.      3/14/92   Added option to not tack on looping frames to animations.
  879.                Revised front-end to include new options.
  880.  
  881.      1.04e     Pads odd length DLTA chunks for !#$!@#$ buggy DPaint.
  882.      Beta      Fixed CMAP chunk lengths for (once again) DPaint.
  883.      3/8/92
  884.  
  885.      1.04d     Will now load GIF images directly.
  886.      Beta      Will now load JPEG images directly (if somewhat slowly).
  887.      2/28/92   Now returns to front end after Aborting an operation.
  888.                New documentation!  Better?  Good question...
  889.                No longer detaches from CLI for better script handling.
  890.  
  891.      1.04c     Clicking Close gadget while waiting no longer exits.
  892.      Beta      Refreshes screen properly under 2.0 after a Zoom.
  893.      11/15/91  Can scale images to any arbitrary width and height.
  894.                Now reads and writes standard IFF ILBM palette files.
  895.                Fixed an occasional massive crashing bug in ILBM saving.
  896.                Fixed scaling settings being "forgotten" over multiple files.
  897.  
  898.      1.04b     Now detaches from the CLI; don't have to Run it anymore.
  899.      Beta      No longer opens a console when run from Workbench.
  900.      11/10/91  Closes front-end window while doing conversions.
  901.                A nifty iconify feature added for Workbench 2.04.
  902.  
  903.      1.04a     Fixed a couple of bugs in animation creation.
  904.      Beta
  905.      11/9/91
  906.  
  907.      1.04      Now includes a built-in Front End, runnable from Workbench.
  908.      Beta      (Drumroll, please)... now generates DCTV images!
  909.      11/7/91
  910.  
  911.      1.03      Compiled with the SAS/C Global Optimizer.
  912.      Reg Only  Now includes a version compiled for 68020/68030 machines.
  913.      10/22/91  Now loads standard IFF images and converts to 24-bit.
  914.                Fixed some Enforcer hits and "free non-tracked" messages.
  915.                Can now click on Rendered screen to continue.
  916.  
  917.      1.02      Now handles odd width images correctly (I hope).
  918.      Release   Fixed numerous Enforcer hits during loading (oops).
  919.      7/11/91
  920.  
  921.      1.01      Fixed a bug in IFF24 loader code.
  922.      Release   Fixed bug in the WaitFor routines.
  923.      6/3/91    Now loads ADPro 8-bit greyscale images.
  924.  
  925.      1.00      First public release.
  926.      Release   Now includes `RendFE.rexx' front-end program.
  927.      5/18/91   Fixed trying to add loop frames to non-existant ANIMs.
  928.  
  929.      0.18      No longer clobbers numeric filename extensions.
  930.      Beta      Recognizes ^C again to abort for compatibility.
  931.      5/16/91   Added dither "threshold" control for Color renders.
  932.  
  933.      0.17      Fixed scaling "forgetfulness" over multiple files.
  934.      Beta      HAM rendering significantly faster.
  935.      5/14/91   Better overscan display (I hope).
  936.                Nice little output window with status bar.
  937.                Loop frames now tacked onto end of animations created.
  938.                Added 90 degree counter-clockwise rotation option `-z'.
  939.  
  940.      0.16      Recompiled with SAS/C 5.10.
  941.      Alpha     Now requires `hame.library' for HAM-E rendering.
  942.      5/8/91    Much faster IFF24 loading; as fast as ADPro now.
  943.                Wildcarding rewritten; requires Arp under 1.3.
  944.                Added `-t' for NTSC Limiting.
  945.                Beginnings of better documentation.
  946.                Generally faster rendering times, especially greyscale.
  947.                Can now scale image height in half with `-y' option.
  948.                Scaling now a seperate operation from the rendering.
  949.                Significantly faster rendering under 2.0.
  950.                Loader will handle anywhere from 9- to 24-bit images.
  951.  
  952.      0.15      Palette save/load now functional.
  953.      Alpha     Fixed memory leak in ANIM compression.
  954.      4/9/91
  955.  
  956.      0.14      Fixed Hame reg mode color wrongness.
  957.      Alpha     Now overscans picture under 1.3, too.
  958.      4/5/91    Now alphabetizes wildcarded input files.
  959.  
  960.      0.13      Color palette selection rewritten.  Less redundancy.
  961.      Alpha     Now takes scaling into account when building histogram.
  962.      4/5/91    Histogram (unfortunately) noticeably slower.
  963.                But palette selection is faster and uses less memory.
  964.                Fixed left-edge-HAM-fringe-in-non-dithered problem.
  965.                Definitely a speed decrease here.
  966.  
  967.      0.12      Fixed phantom palette load/save problem.
  968.      Alpha     I think I fixed the death on out of memory during load.
  969.      4/2/91    Fixed small memory leak problem.
  970.                Pads width of input images to a byte boundary.
  971.                Slight speed increase in non-HAM, especially dithered.
  972.  
  973.      0.11      Fixed bug in -hx mode.
  974.      Alpha     New `-a' animation packer option.
  975.      3/30/91   New `-f' for specifying Lightwave frames.
  976.                New palette locking method with `-p' option.
  977.  
  978.      0.10      Added `@' input script file option.
  979.      Alpha     Now overscans Hame cookie and palette lines if it can.
  980.      3/27/91   Added `-w' to wait for input files to appear.
  981.                Added `-r' option to remove input files when done.
  982.                Hides screen while saving for those of us with 2090's.
  983.  
  984.      0.09      Grey24, Color24, and Ham24 consolidated into Render24.
  985.      Alpha     Command line options changed somewhat.
  986.      3/26/91   Better output file pattern parsing (eg: -oPics/*.reg).
  987.  
  988.      0.08      Fixed occasional after-save guru.
  989.      Alpha     Supports uncompressed IFF24's now (I think).
  990.      3/26/91   ^C will break a rendering in progress (hurray!).
  991.                Clean Hame ham mode support!
  992.  
  993.      0.07      Does not use Hame color register 0 at all.
  994.      Alpha     Hame ham support added, but looks terrible.
  995.      3/26/91
  996.  
  997.      0.06      Makes FORM length even for DPaint's mangled-IFF bug.
  998.      Alpha     Only deletes Convert temp file AFTER image is rendered.
  999.      3/24/91   Initial HAM rendering -- slow, no Hame.
  1000.  
  1001.      0.05      Fixed all-black-horizontal-line-turning-off-Hame problem.
  1002.      Alpha     Allows Unix-style wildcard input pattern.
  1003.      3/23/91   Added Kermit's kludge to call BB's Convert on input files.
  1004.                Color rendering 1x-3x faster non-dithered.
  1005.  
  1006.      0.04      Color rendering about 4x faster non-dithered.
  1007.      Alpha
  1008.      3/22/91
  1009.  
  1010.      0.03      Initial color rendering -- VERY slow.
  1011.      Alpha
  1012.      3/21/91
  1013.  
  1014.      0.02      Initial REAL greyscale rendering.
  1015.      Alpha     Added option to save resulting image.
  1016.      3/20/91
  1017.  
  1018.      0.01      Experimental greyscale rendering.
  1019.      Alpha
  1020.      3/19/91
  1021.  
  1022.